package com.evildog.workspace.invest.application.service;

import com.evildog.workspace.dependencies.mybatis.object.QueryConditionDTO;

import com.evildog.workspace.common.object.PageQuery;
import com.evildog.workspace.common.result.PagedResult;
import com.evildog.workspace.invest.application.bo.BillTypeCategoryPageBO;
import com.evildog.workspace.invest.application.bo.BillTypeCategoryListBO;
import com.evildog.workspace.invest.application.bo.BillTypeCategoryBO;
import com.evildog.workspace.invest.application.dto.BillTypeCategoryPageDTO;
import com.evildog.workspace.invest.application.dto.BillTypeCategoryListDTO;
import com.evildog.workspace.invest.application.dto.BillTypeCategoryDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import com.evildog.workspace.invest.application.entity.BillTypeCategory;

/**
 * <p>
 * billTypeCategory Service
 * </p>
 *
 * @author evildog
 * @since 2020-08-06
 */
public interface BillTypeCategoryService extends IService<BillTypeCategory> {

    /**
    * 自定义分页
    */
    PagedResult<BillTypeCategoryPageBO> getPageList(PageQuery query, List<QueryConditionDTO> queryConditions, BillTypeCategoryPageDTO pageDTO);

    /**
    * 获取List
    */
    List<BillTypeCategoryListBO> getList(List<QueryConditionDTO> queryCondition, BillTypeCategoryListDTO dto);

    /**
    * 获取详情
    */
    BillTypeCategoryBO getDetailById(Long id);

    /**
    * 更新
    */
    boolean updateById(Long id, BillTypeCategoryDTO param);

    /**
    * 保存
    */
    boolean save(BillTypeCategoryDTO param);
}
